package com.leyou.trade.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.Date;

@Data
//从spring容器中寻找类
//动态的获取collection的name  通过spEL表达式 获取用户信息计算出的集合名称
@Document("#{@collectionNameBuilder.build()}")
public class CartItem{
    @Id
    @JsonIgnore   //实体类向前台返回数据时忽略不想传递给前台的属性或接口
    private String id;//联合主键 id=userId+skuId 确定唯一性
    @JsonIgnore
    private Long userId;//用户登录id
    //以下属性为未登录加入购物车所需的字段
    private Long skuId;// 商品id
    private String title;// 标题
    private String image;// 图片
    private Long price;// 加入购物车时的价格
    private Integer num;// 购买数量
    private String spec;// 商品规格参数
    private Date updateTime;// 更新时间


    //从mongoDb中通过id查询是否已存在数据
    public static String generateId(Long userId,Long skuId){
        return String.format("a%db%d",userId,skuId);
    }
}